<?php


class ServidoresController extends BaseController
{
    public function indexAction() {
        
    }
    
    public function encaminharAction() {
        
       /* if ($this->_getParam('competencia') == NULL) {
            $this->_helper->redirector('index');        
        }*/
        $this->view->competencia = $this->_getParam("competencia", null);
        $this->view->form = new Form_Servidores_Listar();
        
        if ($this->getRequest()->isPost() && $this->_getParam('encaminhar')) {
            $this->_encaminhar($this->_getParam('chkRegistro'));
        }
        /*$campos = $this->_getAllParams();
        foreach ($campos as $valor){
        	if (strstr($valor, 'fil_')) {
        		$coluna = str_replace('fil_', '', $valor);
        	}
        }
        echo  '<pre>'; var_dump($coluna); echo  '</pre>'; die();
        */
        $this->view->registros = $this->_getAllParams();
    }
    
    public function salarioAction() {
        
    	$form = new Form_Servidores_Salario();
    	if ($this->getRequest()->isPost() && $this->_getParam('confirmar') &&
    	    $form->isValid($this->_getAllParams())) {
    		$usuario = $this->getLoggedUser();
    		
    		$id = $this->_getParam('chkRegistro');
    		$id = $id[0];
    		$modelview = new Application_Model_View_Lancamento();
    		$viewlancamento = $modelview->fetchRow("id = $id");
    		
    		$modelvalores = new Application_Model_Valor();
    		$valores = $modelvalores->fetchAll(
    								$modelvalores->select()
    								->where('prontuario = ?',$viewlancamento->prontuario)
    								->where('cod_remessa = ?',$viewlancamento->cod_remessa)
    								->where('data_referencia = ?',$viewlancamento->data_referencia));
    						  /*$modelview->select()
    						  ->where('id = ?',$id));*/
			
    		if($viewlancamento->statuslancamento_id === 6){
	    		foreach ($valores as $campo){
	    		$modelvalores->setValorRealizado($campo->prontuario,$campo->cod_remessa,$campo->data_referencia,$campo->beneficio_id,null);	
	    		}	
    		} else {
    		foreach ($valores as $campo){
	    		$modelvalores->setValorRealizado($campo->prontuario,$campo->cod_remessa,$campo->data_referencia,$campo->beneficio_id,$campo->planejado);	
	    		}
    		}
			
			
			$model = new Application_Model_Lancamento();
	        
	        $model->setStatusLancamento($this->_getParam('chkRegistro'),Application_Model_StatusLancamento::STATUS_LANCAMENTO_ENCERRADO);
	        $elementos = $this->_getAllParams();
	        $model->setOrdemCreditoExpedida($this->_getParam('chkRegistro'),$elementos['ordem']);
	        $model->setDataPagamentoExpedida($this->_getParam('chkRegistro'),$elementos['datapagamento']);
	        
	        $this->_helper->redirector('salario','servidores');
    		
    		
    		//$this->_helper->redirector('confirmar','pagamentos', null, array('id'=>$usuario->orgao_id));
        }
        $user = $this->getLoggedUser();
        $codinstituicaodestino = $user->codinstituicaodestino; //TODO: Construir o método do filtro pelo órgão com o nome
        $codorgaodestino = $user->codorgaodestino;
        $usuarioid = $user->id;
        $this->view->codinstituicaodestino = $codinstituicaodestino;
        $this->view->codorgaodestino = $codorgaodestino;
        $this->view->usuarioid = $usuarioid;
        $this->view->form = $form;
        
        
    }
    
    public function editarAction() {
        if ($this->_getParam('id')) {
        	
        	$id = $this->_getParam('id');
        	$model = new Application_Model_View_Lancamento();
            $lancamento = $model->fetchRow("id = $id");
            
            $this->_helper->redirector('editar', 'pagamentos', null, array('id'=>$this->_getParam('id'),
            															   'prontuario' => $lancamento->prontuario,
            															   'cod_remessa'=>$lancamento->cod_remessa,
            															   'data_referencia' => $lancamento->data_referencia));
        } 
    }
    
    protected function _encaminhar($registro = array()) {
        
    	$obj = new Application_Model_Lancamento();
        $obj->setStatusLancamento($registro, Application_Model_StatusLancamento::STATUS_ENCAMINHADO);
    }
    
}
